home *** CD-ROM | disk | FTP | other *** search
/ Level 2005 Christmas (DVD) / Level_2005-XMAS_134_DVD_Knightshift.iso / Demos / Ski Racing 2006 / setup1.cab / DataCommonShadersDX9Normal_Specular_Basic.vsh < prev    next >
Encoding:
Text File  |  2005-11-03  |  1.9 KB  |  79 lines

  1. vs.1.1
  2.  
  3. ;dx9 stuff
  4. ;********
  5. dcl_position v0
  6. dcl_normal v3
  7. dcl_binormal v4
  8. dcl_tangent v5
  9. dcl_texcoord0 v7
  10.  
  11. ;Constant map from the NSF.  
  12. ;
  13. ;CM_Defined      WorldViewProjTranspose  0    0
  14. ;CM_Constant     const_1_1_1_255         4    1    1.0,1.0,1.0,765.01
  15. ;CM_Global       DirLight1Direction      5    1   
  16. ;CM_Global       DaCameraPosition        6    1
  17. ;CM_Constant     Half                    7    1   0.5,0.5,0.5,0.5   
  18. ;CM_Defined      InvWorldTranspose       8      0
  19.  
  20.  
  21. m4x4    oPos, v0, c0
  22.  
  23. ; Find light vector in object space
  24. mov r5, c5                   ;Get the light direction in world space.
  25. m3x3 r4, r5, c8              ;Transform to object space with inverse world mat
  26.  
  27. ; Normalize light vector.
  28.  
  29. dp3 r3.x, r4, r4
  30. rsq r2.x, r3.x
  31. mul r0, r4.xyz, r2.xxx
  32.  
  33. dp3 r7.x, r0, v5             ;Tangent
  34. dp3 r7.y, r0, v4             ;Binormal
  35. dp3 r7.z, r0, v3             ;Normal
  36.  
  37. mad oD0.xyz, r7.xyz, c7, c7
  38.  
  39. ;mad oT2.xyz, r7.xyz, c7, c7    ;Scale and bias since texcoord in the pixel shader
  40.                              ;expects a range of 0 to 1.
  41.  
  42. m4x4 r1, v0, c16 ; to world
  43.  
  44. add r5, -r1, c6
  45.  
  46. dp3 r3.x, r5.xyz, r5.xyz
  47. rsq r3.xyz, r3.x
  48. mul r5.xyz, r5.xyz, r3.xxx
  49.  
  50. add  r2.xyz, r5.xyz, c5         ;L + V
  51.  
  52. dp3  r4.x, r2.xyz, r2.xyz      ;normalize inv view vec
  53. rsq  r4.xyz, r4.x
  54. mul  r2.xyz, r2.xyz, r4.xyz
  55.  
  56. ;mov r4, r5
  57. m3x3 r4, r2, c8              ;Transform to object space with inverse world mat
  58.  
  59. ; Normalize light vector.
  60. dp3 r3.x, r4.xyz, r4.xyz
  61. rsq r3.xyz, r3.x
  62. mul r4.xyz, r4.xyz, r3.xxx
  63.  
  64. dp3 r7.x, r4, v5             ;Tangent
  65. dp3 r7.y, r4, v4             ;Binormal
  66. dp3 r7.z, r4, v3             ;Normal
  67. mad oD1.xyz, r7.xyz, c7, c7    ;Scale and bias since texcoord in the pixel shader
  68.  
  69.  
  70. ; Texture coordinates for the base map and normal map and gloss.
  71. mov  oT0.xy, v7.xy
  72. mov  oT1.xy, v7.xy
  73. mov  oT2.xy, v7.xy
  74.  
  75.  
  76.  
  77.  
  78.  
  79.